【隨堂筆記】資料結構基礎概論


  • 程式設計 = 資料結構 + 演算法
  • 資料結構:資料儲存在記憶體的方式
    -> 提升程式執行效率、節省記憶體空間使用量
  • 資料儲存方式:array、鍵結串列(link list)、佇列(queue)、堆疊(stack)、樹(tree)、圖形(graph)
  • array -> 使用連續的記憶體位址存資料
  • array
    優點:循序存放資料要存取資料很容易
    缺點:中間插入資料時,需要將後面其他元素往後平移,較為麻煩,且容易有記憶體空間的浪費
  • link list:透過記錄下一個節點的記憶體位置讓儲存資料更為彈性,不用綁在依序的記憶空間上,因此中間插入資料也容易(記憶位址不一定要連續)
  • 佇列(queue):FIFO(First in First Out),先進先出
    Enqueue :新元素加入佇列最後
    Dequeue :最前面的元素離開佇列,先來的先出去
  • 堆疊(stack):IFO(Last In, First Out),後進先出
    Push :新元素加入堆疊最後
    Pop :將最後面元素取出堆疊,後來的先出去
  • 樹(tree):由根節點(root node)出發,下方分別為子節點,子節點又會有子節點。可以透過陣列或是鏈結串列來實作樹(tree)資料結構
  • 圖形(graph):主要由節點(vertices)和邊(edge)所組成,若是邊有方向性則稱為有向圖,反之則為無向圖,邊上也可以有加權數字來表示權重或是距離






你可能感興趣的文章

Elevate Your Dermatology Practice with the Electric Dermatology Chair

Elevate Your Dermatology Practice with the Electric Dermatology Chair

迭代陣列 forEach, for of, for in, map

迭代陣列 forEach, for of, for in, map

Day02 為資料命名

Day02 為資料命名






留言討論